%
% NOTE: This SOFTWARE may be used by any individual or corporation for any purpose
% with the exception of re-selling or re-distributing the SOFTWARE.
% By using this software, you are agreeing to the terms detailed in this software's
% Matlab source file.

% BEGIN TERMS OF USE LICENSE
%
% This SOFTWARE is maintained by the CREWES Project at the Department
% of Geology and Geophysics of the University of Calgary, Calgary,
% Alberta, Canada.  The copyright and ownership is jointly held by
% its 'AUTHOR' (identified above) and the CREWES Project.  The CREWES
% project may be contacted via email at:  crewesinfo@crewes.org
%
% The term 'SOFTWARE' refers to the Matlab source code, translations to
% any other computer language, or object code
%
% Terms of use of this SOFTWARE
%
% 1) This SOFTWARE may be used by any individual or corporation for any purpose
%    with the exception of re-selling or re-distributing the SOFTWARE.
%
% 2) The AUTHOR and CREWES must be acknowledged in any resulting publications or
%    presentations
%
% 3) This SOFTWARE is provided "as is" with no warranty of any kind
%    either expressed or implied. CREWES makes no warranties or representation
%    as to its accuracy, completeness, or fitness for any purpose. CREWES
%    is under no obligation to provide support of any kind for this SOFTWARE.
%
% 4) CREWES periodically adds, changes, improves or updates this SOFTWARE without
%    notice. New versions will be made available at www.crewes.org .
%
% 5) Use this SOFTWARE at your own risk.
%
% END TERMS OF USE LICENSE

% CREWES elastic finite-difference seismic modelling
% The top boundary is a free surface suitable for propagating surface
% (Rayleigh) waves.
%
% Script drivers
% fdModDown ..... build a geological model from top to bottom
% fdModUp ....... build a geological model from bottom to top
% fdLayers ...... run a forward model, select parameters by modifying code
%                    The control menu code is in this module
%
% Modelling subroutines
% fdModUD ....... Make Vp, Vs and density vectors, X/Z boundary matrices
% fdLayDoc ...... Carry f-d model through several time steps
% plotPack ...... plot a snapshot (state) with a choice of plot types
% plotcolourk ... Plot vector data with direction coded around the spectrum
% plotcoloura ... Plot vector data with direction coded around the spectrum,
%                   with absolute amplitude (consistent scaling)
% plotptwist2 ... Plot pressure and twist functions of the displacement field
%
% Private subroutines
% fdModUD
% fdInitGen
% fdInitMod2
% fdLoadModel
% fdInitPad
% fdInitTrace
% fdInitArray1
% fdInitArray
% fdInitBound
% fdInitForce
% fdLoadPrior
% fdSEGY2
% plotTraces
% padright6
% zbounds
%
% Dot mat files
% The two files wncEdge.mat and wncUnity.mat (wnc: wave number correction)
% are generated to work with surface waves. The generating software, which
% accounts for body waves, is not yet ready to be released.
%
% The main script, fdLayers, writes ASCII files and a parameter file for
% command ascii2segy which is also part of the 2008/9 CREWES software release.